#!/bin/bash
function error
{
  if [ $1 != 0 ] ; then
   echo  $2
   exit $1
  fi
}

XF86CONFIGFILE="/etc/X11/XF86Config-4"
VARCONFIGFILE="/var/hsc/tmp/XF86Config-4.ru"

function unsetIt
{
  grep "InputDevice[ ][ ]*\"Keyboard0\"[ ][ ]*\"CoreKeyboard\"" \
          ${XF86CONFIGFILE} > /dev/null
  if [ $? != 0 ] ; then
    sed 's/InputDevice[ ][ ]*["]KeyboardRussian/InputDevice "Keyboard0/g' ${XF86CONFIGFILE} > /var/hsc/tmp/XF86Config-4.ru
    if [ $? != 0 ] ; then
      error 1 "ERROR: Could not create XF86Config file in /var/hsc/tmp"
    fi
    cp -f ${VARCONFIGFILE} ${XF86CONFIGFILE}
    if [ $? != 0 ] ; then
      error 2 "ERROR: Could not copy XF86Config file to /etc/X11"
    fi
  fi
}

function setIt
{
  grep "InputDevice[ ][ ]*\"KeyboardRussian\"[ ][ ]*\"CoreKeyboard\"" \
          ${XF86CONFIGFILE} > /dev/null
  if [ $? != 0 ] ; then
    grep "Identifier[ ][ ]*\"KeyboardRussian\"" ${XF86CONFIGFILE} > /dev/null
    if [ $? = 0 ] ; then
       sed 's/InputDevice[ ][ ]*["]Keyboard0/InputDevice "KeyboardRussian/g' ${XF86CONFIGFILE} > /var/hsc/tmp/XF86Config-4.ru
       if [ $? != 0 ] ; then
         echo "ERROR: Could not create XF86Config file in /var/hsc/tmp"
         error 1
       fi
       cp -f ${VARCONFIGFILE} ${XF86CONFIGFILE}
       if [ $? != 0 ] ; then
         echo "ERROR: Could not copy XF86Config file to /etc/X11"
         eerror 2
       fi
    fi
  fi
}

if [ "$1" = "set" ] ; then
  setIt
elif [ "$1" = "unset" ] ; then 
  unsetIt
fi
exit 0
